/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cz.muni.fi.pa165.portalnahouby.serviceinterface;

import cz.muni.fi.pa165.portalnahouby.dto.PickerDTO;
import java.util.List;

/**
 * Interface for picker service
 *
 * @author Lukas Marica
 */
public interface PickerService {

    /**
     * Stores new picker
     *
     * @param picker
     *
     * @throws IllegalArgumentException on null picker or not null picker's id
     */
    public void addPicker(PickerDTO picker);

    /**
     * Updates picker
     *
     * @param picker
     *
     * @throws IllegalArgumentException on null picker or null picker's id
     */
    public void editPicker(PickerDTO picker);

    /**
     * Removes picker
     *
     * @param id
     *
     * @throws IllegalArgumentException on null id
     */
    public void deletePicker(Long id);

    /**
     * Finds picker
     *
     * @param id
     *
     * @throws IllegalArgumentException on null id
     */
    public PickerDTO findPicker(Long id);

    /**
     * Retrieves all available pickers
     *
     * @return List of all pickers
     */
    public List<PickerDTO> getAllPickers();
}
